< previous page page_34 next page >

Page 34
OOA's Role in Solution Development
In the most basic terms, analysis is the series of acts carried out by project team members to break down complex concepts into simpler abstractions. You examine the problem domain in order to formulate a solution.
For many, many years, many programmers have gone through each project life cycle with an enduring and possibly natural enmity toward the analysis process. Programmers who develop applications at home tend to refrain from thorough analysis. The standard thinking is that users don't know how to tell programmers what they want, so programmers assume they themselves know. There is real-world precedence for this. In the days before business management gurus Edward Deming and Peter Drucker came on the scene, most companies often ignored the wants of their customers. (For that matter, monopolies have a natural tendency to ignore customers; think of your utility monopolies' response to your billing complaints.) Then Deming and Drucker came along and led the corporate world toward more customer-and employee-oriented management styles.
Likewise, the three leading figures of the object-oriented software development paradigm shiftJacobson, Booch, and Rumbaugh (among notable others)have also led the software development community toward not only object-oriented styles of programming but also user-oriented project planning. That is, the central idea behind object-oriented systems is that objects respond to human users at some point in the execution of a business process. The stimuli are events or messages from the human actor to the application. The response of the objects can incorporate issuing client requests to other external systems, which makes the client system an actor as well (more on actors in a moment).
The important thing to understand about the analysis process is that you must be able to effectively translate the initial set of user requirements into a model or foundation on which your design models can be properly implemented. Such a translation occurs within the context of a project. Planning the development of a solution to an assessed problem cannot occur in a vacuum. You cannot guess at the completion date for a project. Object-oriented analysis provides the best early gauge of the feasibility of successfully completing an object-oriented programming project.
Realizing the Importance of Using Analysis Methods
Now that you've read through the object-oriented programming aspects (there will be plenty more on OOP later), let's step back a bit and discuss analysis. Some think that analysis is a waste of time, and this sentiment is sometimes justified. Most newcomers to

 
< previous page page_34 next page >

If you like this book, buy it!